package com.pignest.hotel.dao;

import java.util.List;

import com.pignest.hotel.beans.User;
import com.pignest.hotel.beans.Role;

public interface RoleDao {

	/**
	 * 移除选定用户的用户角色
	 */
	public void removeUserFromRole(final Role role, final String[] userIds);
	
	/**
	 * 根据角色名获取角色
	 * */
	public Role getRoleByName(String roleName);
	
	/**
	 * 根据角色获取用户
	 * */
	public List<User> getUsersByRole(final Role role);
	
	/**
	 * 获取用户的角色
	 */
	public List<Role> getRolesByUser(final User user);
	
	/**
	 * 增加用户角色
	 */
	public void addUserRole(User user, Role role);
	
	/**
	 * 增加用户角色
	 */
	public void addUserRoles(User user, List<String> roleIds);
	
	/**
	 * 增加用户角色
	 */
	public void addUserRoles(String[] userIds, Role role);
	
	/**
	 * 删除用户角色
	 * */
	public void deleteUserRoles(final String[] ids);
	
	/**
	 * 清除用户的用户角色
	 * */
	public void clearUserRoles(final User user);
	
	/**
	 * 
	 */
	public void clearUserRoles(final Role role);
	
	
}
